The invention generally pertains to computer buses, and more specifically, to apparatus and methods for extending a bus to support at least one auxiliary function.
Peripheral devices are commonly provided to extend the functionality of a personal computer (PC). For example, a Digital Video Disk/Re-Writable (DVD+RW) drive may be used for video storage and retrieval using the PC. Some peripheral devices are more useful when accompanied by an auxiliary function. For example, a DVD+RW drive may be accompanied by a video capture and compression function for creating a DVD from analog audio and video input. That is, the video capture function may convert analog audio and video input (e.g., from a video camcorder) to digital output. The compression function may compress the digital output (e.g., using International Organization for Standardization (ISO) Moving Picture Experts Group (MPEG) file compression standards) for writing to the DVD using the DVD+RW drive. Other functions may include DVD software authoring (e.g., adding a navigation menu, editing the video or audio), etc.
A PC is typically provided with only a limited number of busses and connections thereto. For example, an Advanced Technology Attachment (ATA) bus supports a maximum of two single-function ATA devices for each host controller port. Where two ATA devices are present on a single ATA bus, one of the ATA devices is required to be configured as a master device, and the other device is required to be configured as a slave device. Furthermore, a PC is typically provided with only two ATA host controllers, thus limiting the number of devices supported thereon to four. In addition, the ATA bus was originally developed for connecting hard disk drives to PCs. The ATA bus has since evolved into the universal interface for supporting storage devices, and is now commonly used to connect CD-ROM drives, DVD drives, etc. However, the ATA bus is still typically limited to supporting storage devices (e.g., the DVD+RW drive). The auxiliary function may not necessarily be storage (e.g., the video capture and compression function discussed above). Therefore, these auxiliary functions are not supported by the ATA bus and must instead be linked to the PC via a separate bus.
As an illustration, the auxiliary function may be provided by a Peripheral Component Interconnect (PCI) expansion board or card. However, installing both a peripheral device (e.g., the DVD+RW drive) and a separate PCI expansion board (e.g., the video capture and compression function) may be a daunting task for the typical PC user. As such, some users may be dissuaded from purchasing a product that requires such installation. In addition, a PC typically only has a limited number of (e.g., three or four) PCI connectors or slots. These may already be occupied by other PCI expansion boards (e.g., a graphics accelerator, a sound card, a modem card, etc.). Likewise, installing the auxiliary function as a PCI expansion board reduces the availability of PCI connectors for later-installed PCI expansion boards.
Apparatus for extending a bus to support at least one auxiliary function. A filter may be provided for intercepting and routing a signal issued over the bus. The filter may comprise control logic for reading the intercepted signal and for determining a destination therefor. The filter may also comprise a multiplexer operatively associated with the control logic for reissuing the intercepted signal to the destination. The multiplexer reissues the intercepted signal to one of the at least one auxiliary function when the intercepted signal is designated as function-specific. Alternately, the multiplexer reissues the intercepted signal over the bus to a peripheral device when the intercepted signal is designated as device-specific.
A method for extending a bus to support at least one auxiliary function may comprise: intercepting a signal issued over the bus, reissuing the intercepted signal to one of the at least one auxiliary function when the intercepted signal is designated as function-specific, and reissuing the intercepted signal over the bus to the peripheral device when the signal is designated as device-specific.